import pymysql

# 连接数据库 通过连接的函数创建一个连接对象
db=pymysql.connect(user="root",
                password="123456",
                host="localhost",
                port=3306,
                database="myschools",
                # autocommit=True
                )
# 根据连接对象，创建游标对象
cur= db.cursor()
#执行sql语句
# cur.execute("select * from students order by age desc")
#获取结果
# results=cur.fetchall()
#遍历数据
# for a in results:
#     print(a)
#查询年龄大于20岁的数据
#动态赋值 方法1  作者要求的写法
# cur.execute(f"select * from students where age < %s",(10,))
#方式2格式化字符串   推荐
# age=10
# cur.execute(f"select * from students where age < {age}")
#方法2的变形  使用函数---格式化字符串进行动态赋值
# def get_age(age):
#     cur.execute(f"select * from students where age < {age}")
#
# get_age(20)
# 在结果中去2条  结果是元组
# cur.execute(f"select * from students where age =22")
# # results=cur.fetchmany(2)
# results=cur.fetchall()  #取一条数据
# print(results[0:2])   #切片
# print(results)

#修改
cur.execute("update students set name='王大明1111' ")
#需要使用  commit提交，数据库才能修改
# db.commit()  提交
# db.rollback()  #回滚

#添加

cur.execute("insert into students(id,name,age,sex) values(100,'张三',12,'男')")
db.commit()
#删除  伪删除     update     del_flag(0已删除 1 未删除 )

cur.execute("delete from students where id =1")
db.commit()

#关闭
cur.close()   #先关闭游标对象
db.close()   #在关闭连接数











